1. Technical Field
The present disclosure relates generally to determining the location of a mobile client device using a wireless local area network (WLAN) positioning system, and more specifically to techniques for efficiently selecting and distributing information to a mobile client device, as well as for refreshing information already stored on the mobile client device.
2. Background Information
In recent years the number of mobile client devices has increased significantly. At the same time, there has been an explosion of the number of applications used on, or in connection with, mobile client devices. Many applications customize information presented to a user based on location information (e.g., an estimated location of the mobile client device). For example, based on an estimated location of a mobile client device, location-dependent advertisements (e.g., an advertisement for a local restaurant rather than one far away) may be displayed, or a search may be configured to return location-dependent result (e.g., a list of the nearby restaurants rather than ones far away). In this manner, location information may enhance the experience of a user of a mobile client device.
There are a variety of different techniques that may be used to estimate the location of a mobile client device. Such techniques typically rely on a known set of anchor points that are used as references to estimate the location. The anchor points can be satellites, cell towers, Bluetooth devices, WLAN access points (APs), etc., depending on the particular techniques employed.
For example, techniques based on the Global Positioning System (GPS) operated by the U.S. government may leverage dozens of orbiting satellites as reference points. These satellites broadcast radio signals that are picked up by a GPS receiver of a mobile client device. The receiver measures the time it takes for a signal to travel to it. After receiving signals from three or more GPS satellites, the receiver can triangulate its position on the globe. For the system to work effectively, the radio signals typically need to reach the receiver with little or no interference. Weather, buildings, and foliage can interfere with this process, since receivers typically require a clear line-of-sight. Interference can also be caused by a phenomenon known as multi-path interference. With multi-path interference, radio signals from GPS satellites bounce off physical objects (e.g., structures), causing multiple signals from the same GPS satellite to reach the receiver at different times. Since the receiver's calculations are based on the time the signal took to reach the receiver, multi-path signals can confuse the receiver, and cause substantial errors.
Cell tower triangulation is another technique that may be used to determine the location of a mobile client device. Cell towers and the mobile client device communicate with each other to share signal information that can be used to identity cell towers and distances to the cell towers, to calculate the location of the mobile client device. This approach was originally thought to be more promising than GPS, since cellular signals do not require direct line of site and can penetrate buildings better than GPS signals. Unfortunately, cell tower triangulation has proven to be less than ideal, due in part to the heterogeneous nature of the cellular tower hardware, issues caused by multi-path signals, and a lack of uniformity in the positioning of cell towers.
Assisted GPS (A-GPS) is another technique, which combines both GPS and cell tower-based techniques to produce more accurate and reliable location calculation. In A-GPS, attempts are made to improve GPS signal reception by transmitting information to a mobile client device about the clock offsets of the GPS satellites, and the general location of the mobile client device, based on the location of a connected cell tower. This information may help the GPS receiver of the mobile client device to operate with weaker signals (e.g., that may be experienced indoors), and may help the GPS receiver to obtain a fix on satellites more quickly, to provide a faster first reading. However, A-GPS systems have been plagued by various problems, including slow response times and poor accuracy (e.g., greater than 100 meters in downtown areas).
Some WLAN positioning systems have also been used to estimate the location of mobile client devices. In some systems, WLAN AP data acquired by amateur scanners (known as “war drivers”) who submit their WLAN scan data to public community web sites is stored. Client software executing on a mobile client device may use WLAN AP data to estimate a location of the mobile client device. Many existing WLAN positioning systems are designed to address asset and people tracking within a controlled environment of limited size, like a corporate building or campus, a hospital facility, a shipping yard, etc. In such cases, the amount of stored WLAN AP data may be relatively small. However problems are encountered in attempting to scale such systems to wide-area deployment (e.g., across an entire city, state, etc.).
Among a number of issues encountered is that amounts of WLAN AP data may grow so large that it is impossible or impractical to maintain a copy of it all on a mobile client device. Further it may be burdensome to constantly query a remotely maintained data source each time data are needed for positioning. In general, software operating on a mobile client device is constrained by the limited hardware capabilities of such devices, and by the costs of utilizing mobile resources and services. Hardware constraints may include memory capacity, available power (e.g., battery power), central processor unit (CPU) resources, network capacity and availability, and the like. Costs constraints may include fees for network access, fees for network bandwidth consumption, and the like. These constraints may burden any application executing on a mobile client device, and in particular creates a problem for WLAN positioning systems that have to access large amounts of WLAN AP data.
These problems are compounded by the frequently changing nature of WLAN AP data. Due to the transient nature of WLAN APs, which are often moved or decommissioned, stored data my need to be updated regularly, to ensure that it contains relatively current WLAN AP data. Any WLAN AP data transferred to a mobile client device at a previous time may become out-of-date as time passes.
Accordingly there is a need for improved techniques for efficiently selecting and distributing WLAN AP data to a mobile client device, as well as refreshing WLAN AP data stored on the mobile client device.